Polymorphic Fractional Permission Inference

نویسندگان

  • Kevin Bierhoff
  • Nels E. Beckman
  • Jonathan Aldrich
چکیده

Fractional permissions have recently received much attention for sound static reasoning about programs that rely on aliasing, but they are challenging to track automatically. This paper contributes an algorithm for proving permissionbased assertions in a decidable fragment of linear logic. Unlike previous work, our inference approach supports polymorphism over fractions. The paper also describes our implementation of this algorithm as part of a tool, Plural, which checks compliance to typestate-based protocols in Java code. We report Plural’s performance on several benchmark programs.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Polymorphic Fractional Capabilities

The capability calculus is a framework for statically reasoning about program resources such as deallocatable memory regions. Fractional capabilities, originally proposed by Boyland for checking the determinism of parallel reads in multi-thread programs, extend the capability calculus by extending the capabilities to range over the rational numbers. Fractional capabilities have since found nume...

متن کامل

Type Checking and Inference for Polymorphic and Existential Types

This paper proves undecidability of type checking and type inference problems in some variants of typed lambda calculi with polymorphic and existential types. First, type inference in the domain-free polymorphic lambda calculus is proved to be undecidable, and then it is proved that type inference is undecidable in the negation, conjunction, and existence fragment of the domain-free typed lambd...

متن کامل

Type inference for polymorphic methods in Java-like languages

In mainstream class-based object-oriented languages with nominal types, like C++, Java and C#, typechecking algorithms require methods to be annotated with their parameter types, which are either fixed or constrained by a (nominal) bound. On the contrary, languages like ML, CaML and Haskell use powerful type inference algorithms capable of calculating the type for a function in which parameter ...

متن کامل

Practical Type Inference for Polymorphic Recursion: an Implementation in Haskell

This paper describes a practical type inference algorithm for typing polymorphic and possibly mutually recursive definitions, using Haskell to provide a highlevel implementation of the algorithm.

متن کامل

Explaining Polymorphic Types

Polymorphic types in programming languages facilitate code reuse, increase reliability and reduce semantic errors in programs. Hindley-Milner type inference forms a strong basis for checking polymorphic types but is less well suited to explaining them, as it introduces intermediate constructs that relate poorly to a programmer's understanding of the program. We report an experiment into expert ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009